home *** CD-ROM | disk | FTP | other *** search
-
- Keeper -- written by Ray Lambert for Theta Systems, Inc.
-
- Copyright 1991 Commodore Business Machines, Inc.
-
- Purpose and Usage:
-
- Keeper is meant for use in a startup-sequence file to display a
- picture while booting. Some applications are quite large and take a
- significant period of time to load. Unless special steps are taken,
- an application such as this cannot display anything for the user to look
- at until the executable file is completely loaded. This keeps the user
- waiting and the inactivity makes the load time seem even longer. This
- practice is not acceptable for a platform such as CDTV where the task of
- keeping the user's attention and preventing the user from becoming bored
- is considered paramount. Keeper was written to provide a solution to
- this problem. Keeper should be invoked from your startup-sequence file
- (in the foreground: do not use RUN) with the name of an IFF.ILBM picture
- to be displayed. Keeper loads the picture and then spawns off a tiny
- task which displays the picture and frees all the resources that are used
- to do so when it is time to remove the picture. Keeper quits shortly
- after these things are done allowing the remainder of the startup-sequence
- to be executed. Because keeper runs in the foreground while it is loading
- the picture, there will not be a problem with two processes trying to read
- from the same disk at once (this would slow the boot process considerably).
- Note that this can still occur however if a program gets run in the
- background before keeper is run, and that program reads from the disk
- (this should be avoided). There are three ways to make keeper remove its
- picture. First, if keeper is run a second time with the keyword 'QUIT' on
- its command line, keeper will cause a previous copy of itself to terminate.
- Second (and easier), the simple act of loading another View will cause
- keeper to terminate. Keeper accomplishes this by periodically checking
- the GfxBase->ActiView variable to see if its View has been replaced. Note
- that because of this it is dangerous for a program to save the active
- View during initialization and then try to restore it later. Please use
- CloseWorkBench() and OpenWorkBench() instead if possible. A third method
- of terminating keeper is by Signal()'ing it directly. Keeper's task can
- be located like this:
-
- task = FindTask("PicKeeper");
-
- and terminated like this:
-
- Signal(task,SIGBREAKF_CTRL_C);
-
- Keeper can display any IFF picture including overscan. Keeper
- automatically compensates for PAL by centering its View appropriately.
- Keeper CANNOT display pictures that require custom copper list code such
- as Dynamic HAM pics. Keeper reads the CDTV preferences and uses the saved
- screen centering information found there. If the preferences have not
- been set or are not available (not running on a baby) the centering data
- gets stolen from Intuition's View (actually it is the active View at the
- time keeper runs).
-